🎏 Feature Dependency Analysis: Correlation, Granger Causality & Error Distributions¢

Import useful libraries

InΒ [1]:
import os
import glob
import pandas as pd

import logging
logging.getLogger().setLevel(logging.CRITICAL)
logging.getLogger("matplotlib").setLevel(logging.WARNING)

import warnings
warnings.filterwarnings('ignore')

from utilities import DataVisualizer, GrangerCausalityAnalyzer

Define basic folder paths

InΒ [2]:
# Define folder names
DATA_FOLDER_NAME = r".\data"

ORIGINAL_DATASETS_IMOLA_FOLDER_NAME = os.path.join(DATA_FOLDER_NAME, "datasets-imola")
DISCRETIZED_ORIGINAL_DATASETS_IMOLA_FOLDER_NAME = os.path.join(DATA_FOLDER_NAME, "discretized-datasets-imola")

Load the datasets

InΒ [3]:
# Define dataset paths and load all datasets in advance
dataset_paths = glob.glob(os.path.join(ORIGINAL_DATASETS_IMOLA_FOLDER_NAME, "*.csv"))
datasets = {}

print(f"πŸ“‚ Found {len(dataset_paths)} datasets in '{ORIGINAL_DATASETS_IMOLA_FOLDER_NAME}'\n")

# Load all datasets before iterating through sections
for dataset_path in dataset_paths:
    dataset_name = os.path.basename(dataset_path).replace(".csv", "")
    datasets[dataset_name] = pd.read_csv(dataset_path)
    print(f" πŸ”Έ Loaded dataset '{dataset_name}' with shape: {datasets[dataset_name].shape}")

print("\n βœ… All datasets loaded successfully!\n")
πŸ“‚ Found 3 datasets in '.\data\datasets-imola'

 πŸ”Έ Loaded dataset '20241128-imola' with shape: (248448, 14)
 πŸ”Έ Loaded dataset '20250113-imola' with shape: (497553, 14)
 πŸ”Έ Loaded dataset '20250114-imola' with shape: (603724, 14)

 βœ… All datasets loaded successfully!

↔️ Values Correlations AnalysisΒΆ

InΒ [4]:
# Correlation Matrix Analysis
for dataset_name, df in datasets.items():
    print(f"\n\nπŸ”„ Processing correlation heatmap for: {dataset_name}")

    # Generate and display correlation heatmap with title
    result = DataVisualizer.correlation_heatmap(df, title=f"Correlation Heatmap - {dataset_name}")

    # Print highly correlated feature pairs
    if result:
        print("\nπŸ“Œ Highly correlated feature pairs (|correlation| > 0.7):")
        for pair in result:
            print(f"   - {pair[0]} ↔ {pair[1]}: {pair[2]:.2f}")
    else:
        print("βœ… No highly correlated feature pairs found.")

print("\nπŸŽ‰ Correlation matrix analysis completed for all datasets!")

πŸ”„ Processing correlation heatmap for: 20241128-imola
No description has been provided for this image
πŸ“Œ Highly correlated feature pairs (|correlation| > 0.7):
   - InverterTemp_RearLeft_C ↔ InverterTemp_RearRight_C: 0.99
   - MotorTemp_RearLeft_C ↔ MotorTemp_RearRight_C: 0.99
   - InverterSpeed_RearLeft_RPM ↔ InverterSpeed_RearRight_RPM: 0.99
   - BatteryCurrent_A ↔ Inverter_Iq_Ref_RearLeft_A: 0.92
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Iq_Ref_RearRight_A: -0.91
   - BatteryCurrent_A ↔ Inverter_Iq_Ref_RearRight_A: -0.91
   - Inverter_Id_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearRight_A: 0.84
   - BatteryVoltage_V ↔ BatteryPackTemp_C: -0.83
   - BatteryCurrent_A ↔ Inverter_Id_Ref_RearLeft_A: -0.83
   - BatteryCurrent_A ↔ Inverter_Id_Ref_RearRight_A: -0.83
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearLeft_A: -0.76
   - Inverter_Iq_Ref_RearRight_A ↔ Inverter_Id_Ref_RearRight_A: 0.75
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearRight_A: -0.73
   - Inverter_Id_Ref_RearLeft_A ↔ Inverter_Iq_Ref_RearRight_A: 0.71


πŸ”„ Processing correlation heatmap for: 20250113-imola
No description has been provided for this image
πŸ“Œ Highly correlated feature pairs (|correlation| > 0.7):
   - MotorTemp_RearLeft_C ↔ MotorTemp_RearRight_C: 0.99
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Iq_Ref_RearRight_A: -0.99
   - InverterTemp_RearLeft_C ↔ InverterTemp_RearRight_C: 0.98
   - InverterSpeed_RearLeft_RPM ↔ InverterSpeed_RearRight_RPM: 0.97
   - BatteryCurrent_A ↔ Inverter_Iq_Ref_RearRight_A: -0.90
   - BatteryCurrent_A ↔ Inverter_Iq_Ref_RearLeft_A: 0.90
   - BatteryCurrent_A ↔ Inverter_Id_Ref_RearRight_A: -0.89
   - Inverter_Id_Ref_RearLeft_A ↔ Inverter_Iq_Ref_RearRight_A: 0.88
   - BatteryVoltage_V ↔ BatteryPackTemp_C: -0.88
   - Inverter_Iq_Ref_RearRight_A ↔ Inverter_Id_Ref_RearRight_A: 0.88
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearLeft_A: -0.88
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearRight_A: -0.88
   - BatteryCurrent_A ↔ Inverter_Id_Ref_RearLeft_A: -0.87
   - Inverter_Id_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearRight_A: 0.87


πŸ”„ Processing correlation heatmap for: 20250114-imola
No description has been provided for this image
πŸ“Œ Highly correlated feature pairs (|correlation| > 0.7):
   - InverterTemp_RearLeft_C ↔ InverterTemp_RearRight_C: 0.99
   - MotorTemp_RearLeft_C ↔ MotorTemp_RearRight_C: 0.99
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Iq_Ref_RearRight_A: -0.98
   - InverterSpeed_RearLeft_RPM ↔ InverterSpeed_RearRight_RPM: 0.98
   - BatteryCurrent_A ↔ Inverter_Iq_Ref_RearRight_A: -0.91
   - BatteryCurrent_A ↔ Inverter_Iq_Ref_RearLeft_A: 0.90
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearLeft_A: -0.90
   - Inverter_Id_Ref_RearLeft_A ↔ Inverter_Iq_Ref_RearRight_A: 0.89
   - BatteryCurrent_A ↔ Inverter_Id_Ref_RearRight_A: -0.89
   - Inverter_Id_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearRight_A: 0.88
   - Inverter_Iq_Ref_RearRight_A ↔ Inverter_Id_Ref_RearRight_A: 0.88
   - BatteryCurrent_A ↔ Inverter_Id_Ref_RearLeft_A: -0.88
   - Inverter_Iq_Ref_RearLeft_A ↔ Inverter_Id_Ref_RearRight_A: -0.87

πŸŽ‰ Correlation matrix analysis completed for all datasets!

πŸ•―οΈ Error Analysis with KDE and BoxplotsΒΆ

InΒ [5]:
for dataset_name, df in datasets.items():
    print(f"\n\nπŸ”„ Processing dataset: {dataset_name}")

    # Set a title for the boxplot visualization
    plot_title = f"Error Boxplots & Distributions - {dataset_name}"

    # Plot KDE & Boxplots with 'InverterFault' as the hue
    DataVisualizer.plot_distributions_with_kde_and_boxplot(df, fault_col="InverterFault", title=plot_title)

    print(f"βœ… Completed visualization for {dataset_name}")

print("\nπŸŽ‰ Error Boxplots Analysis Completed for All Datasets!")

πŸ”„ Processing dataset: 20241128-imola
No description has been provided for this image
βœ… Completed visualization for 20241128-imola


πŸ”„ Processing dataset: 20250113-imola
No description has been provided for this image
βœ… Completed visualization for 20250113-imola


πŸ”„ Processing dataset: 20250114-imola
No description has been provided for this image
βœ… Completed visualization for 20250114-imola

πŸŽ‰ Error Boxplots Analysis Completed for All Datasets!

πŸ“ˆ Granger Causality TestΒΆ

The Granger causality test is used to determine whether one time series is useful in forecasting another. The basic idea is that if a time series X Granger-causes another series Y, then including past values of X along with past values of Y should improve the prediction of Y, compared to using only past values of Y.

In practice, the test takes two series as input: the series to be predicted (Y) and the potential predictor (X). It evaluates whether lagged values of X provide statistically significant information about future values of Y. If the p-value is smaller than a chosen significance level (commonly $0.05$), the null hypothesis is rejected, indicating that X does indeed help forecast Y. The null hypothesis of the test states that X does not Granger-cause Y.

The Granger test is typically applied to exogenous variables, meaning it is not intended to test if Y is caused by its own past values. A key parameter of the test is maxlag, which specifies how many previous time steps should be considered when checking for predictive power.

Source: Complete Guide on Time Series Analysis in Python

InΒ [6]:
granger_tables = {}

# Loop through each dataset
for dataset_name, df in datasets.items():  
    print(f"\n\nπŸ”„ Processing dataset: {dataset_name}")

    # Check if 'InverterFault' exists and has only one unique value
    if "InverterFault" in df.columns and df["InverterFault"].nunique() == 1:
        print(f"⚠️ Removing 'InverterFault' from {dataset_name} (only one unique value: {df['InverterFault'].iloc[0]})")
        df = df.drop(columns=["InverterFault"])

    # Perform Granger causality analysis
    p_values, styled_table = GrangerCausalityAnalyzer.display_granger_results(
        data=df,
        variables=df.columns.to_list(),
        max_lag=2,
        significance_level=0.05,
        title=f"Granger Causality P-values - {dataset_name}"
    )

    # Save Granger Analysis result
    granger_tables[dataset_name] = styled_table

    # Display results
    print("\nπŸ“Œ Causality relationships table:")
    display(styled_table)

    print(f"βœ… Granger causality analysis completed for {dataset_name}.\n")

πŸ”„ Processing dataset: 20241128-imola
⚠️ Removing 'InverterFault' from 20241128-imola (only one unique value: 0)
No description has been provided for this image
Found 141 significant Granger causal relationships:
  - Strong (p < 0.001): 129
  - Medium (p < 0.01): 7
  - Weak (p < 0.05): 5

Significance levels: *** p<0.001, ** p<0.01, * p<0.05


πŸ“Œ Causality relationships table:
Β  From To P-value Significance
110 Inverter_Id_Ref_RearRight_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
97 Inverter_Iq_Ref_RearRight_A InverterSpeed_RearLeft_RPM 0.0000 ***
113 Inverter_Id_Ref_RearRight_A InverterSpeed_RearRight_RPM 0.0000 ***
95 Inverter_Iq_Ref_RearRight_A BatteryCurrent_A 0.0000 ***
35 InverterSpeed_RearLeft_RPM InverterSpeed_RearRight_RPM 0.0000 ***
40 Inverter_Iq_Ref_RearLeft_A BatteryVoltage_V 0.0000 ***
41 Inverter_Iq_Ref_RearLeft_A BatteryCurrent_A 0.0000 ***
19 BatteryCurrent_A InverterSpeed_RearRight_RPM 0.0000 ***
123 MotorTemp_RearRight_C MotorTemp_RearLeft_C 0.0000 ***
46 Inverter_Iq_Ref_RearLeft_A InverterSpeed_RearRight_RPM 0.0000 ***
51 Inverter_Id_Ref_RearLeft_A BatteryCurrent_A 0.0000 ***
53 Inverter_Id_Ref_RearLeft_A InverterSpeed_RearLeft_RPM 0.0000 ***
109 Inverter_Id_Ref_RearRight_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
85 InverterSpeed_RearRight_RPM InverterSpeed_RearLeft_RPM 0.0000 ***
57 Inverter_Id_Ref_RearLeft_A InverterSpeed_RearRight_RPM 0.0000 ***
43 Inverter_Iq_Ref_RearLeft_A InverterSpeed_RearLeft_RPM 0.0000 ***
98 Inverter_Iq_Ref_RearRight_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
94 Inverter_Iq_Ref_RearRight_A BatteryVoltage_V 0.0000 ***
16 BatteryCurrent_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
15 BatteryCurrent_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
14 BatteryCurrent_A InverterSpeed_RearLeft_RPM 0.0000 ***
7 BatteryVoltage_V InverterSpeed_RearRight_RPM 0.0000 ***
99 Inverter_Iq_Ref_RearRight_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
106 Inverter_Id_Ref_RearRight_A BatteryCurrent_A 0.0000 ***
102 Inverter_Iq_Ref_RearRight_A InverterSpeed_RearRight_RPM 0.0000 ***
136 InverterTemp_RearRight_C InverterTemp_RearLeft_C 0.0000 ***
108 Inverter_Id_Ref_RearRight_A InverterSpeed_RearLeft_RPM 0.0000 ***
12 BatteryCurrent_A BatteryVoltage_V 0.0000 ***
47 Inverter_Iq_Ref_RearLeft_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
48 Inverter_Iq_Ref_RearLeft_A Inverter_Id_Ref_RearRight_A 0.0000 ***
21 BatteryCurrent_A Inverter_Id_Ref_RearRight_A 0.0000 ***
50 Inverter_Id_Ref_RearLeft_A BatteryVoltage_V 0.0000 ***
105 Inverter_Id_Ref_RearRight_A BatteryVoltage_V 0.0000 ***
58 Inverter_Id_Ref_RearLeft_A Inverter_Id_Ref_RearRight_A 0.0000 ***
103 Inverter_Iq_Ref_RearRight_A Inverter_Id_Ref_RearRight_A 0.0000 ***
2 BatteryVoltage_V InverterSpeed_RearLeft_RPM 0.0000 ***
44 Inverter_Iq_Ref_RearLeft_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
92 InverterSpeed_RearRight_RPM MotorTemp_RearRight_C 0.0000 ***
29 InverterSpeed_RearLeft_RPM BatteryCurrent_A 0.0000 ***
38 InverterSpeed_RearLeft_RPM MotorTemp_RearRight_C 0.0000 ***
20 BatteryCurrent_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
88 InverterSpeed_RearRight_RPM MotorTemp_RearLeft_C 0.0000 ***
33 InverterSpeed_RearLeft_RPM MotorTemp_RearLeft_C 0.0000 ***
91 InverterSpeed_RearRight_RPM Inverter_Id_Ref_RearRight_A 0.0000 ***
24 BatteryPackTemp_C BatteryVoltage_V 0.0000 ***
28 InverterSpeed_RearLeft_RPM BatteryVoltage_V 0.0000 ***
37 InverterSpeed_RearLeft_RPM Inverter_Id_Ref_RearRight_A 0.0000 ***
81 InverterTemp_RearLeft_C InverterTemp_RearRight_C 0.0000 ***
32 InverterSpeed_RearLeft_RPM Inverter_Id_Ref_RearLeft_A 0.0000 ***
87 InverterSpeed_RearRight_RPM Inverter_Id_Ref_RearLeft_A 0.0000 ***
125 MotorTemp_RearRight_C InverterSpeed_RearRight_RPM 0.0000 ***
67 MotorTemp_RearLeft_C InverterSpeed_RearRight_RPM 0.0000 ***
115 Inverter_Id_Ref_RearRight_A MotorTemp_RearRight_C 0.0000 ***
59 Inverter_Id_Ref_RearLeft_A MotorTemp_RearRight_C 0.0000 ***
49 Inverter_Iq_Ref_RearLeft_A MotorTemp_RearRight_C 0.0000 ***
129 InverterTemp_RearRight_C BatteryVoltage_V 0.0000 ***
22 BatteryCurrent_A MotorTemp_RearRight_C 0.0000 ***
45 Inverter_Iq_Ref_RearLeft_A MotorTemp_RearLeft_C 0.0000 ***
111 Inverter_Id_Ref_RearRight_A MotorTemp_RearLeft_C 0.0000 ***
90 InverterSpeed_RearRight_RPM Inverter_Iq_Ref_RearRight_A 0.0000 ***
8 BatteryVoltage_V Inverter_Iq_Ref_RearRight_A 0.0000 ***
82 InverterSpeed_RearRight_RPM BatteryVoltage_V 0.0000 ***
17 BatteryCurrent_A MotorTemp_RearLeft_C 0.0000 ***
100 Inverter_Iq_Ref_RearRight_A MotorTemp_RearLeft_C 0.0000 ***
55 Inverter_Id_Ref_RearLeft_A MotorTemp_RearLeft_C 0.0000 ***
3 BatteryVoltage_V Inverter_Iq_Ref_RearLeft_A 0.0000 ***
135 InverterTemp_RearRight_C MotorTemp_RearLeft_C 0.0000 ***
104 Inverter_Iq_Ref_RearRight_A MotorTemp_RearRight_C 0.0000 ***
71 InverterTemp_RearLeft_C BatteryVoltage_V 0.0000 ***
140 InverterTemp_RearRight_C MotorTemp_RearRight_C 0.0000 ***
83 InverterSpeed_RearRight_RPM BatteryCurrent_A 0.0000 ***
80 InverterTemp_RearLeft_C MotorTemp_RearRight_C 0.0000 ***
61 MotorTemp_RearLeft_C BatteryVoltage_V 0.0000 ***
77 InverterTemp_RearLeft_C InverterSpeed_RearRight_RPM 0.0000 ***
117 MotorTemp_RearRight_C BatteryVoltage_V 0.0000 ***
76 InverterTemp_RearLeft_C MotorTemp_RearLeft_C 0.0000 ***
137 InverterTemp_RearRight_C InverterSpeed_RearRight_RPM 0.0000 ***
86 InverterSpeed_RearRight_RPM Inverter_Iq_Ref_RearLeft_A 0.0000 ***
119 MotorTemp_RearRight_C BatteryPackTemp_C 0.0000 ***
133 InverterTemp_RearRight_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
63 MotorTemp_RearLeft_C BatteryPackTemp_C 0.0000 ***
130 InverterTemp_RearRight_C BatteryCurrent_A 0.0000 ***
34 InverterSpeed_RearLeft_RPM InverterTemp_RearLeft_C 0.0000 ***
39 InverterSpeed_RearLeft_RPM InverterTemp_RearRight_C 0.0000 ***
139 InverterTemp_RearRight_C Inverter_Id_Ref_RearRight_A 0.0000 ***
134 InverterTemp_RearRight_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
56 Inverter_Id_Ref_RearLeft_A InverterTemp_RearLeft_C 0.0000 ***
118 MotorTemp_RearRight_C BatteryCurrent_A 0.0000 ***
127 MotorTemp_RearRight_C Inverter_Id_Ref_RearRight_A 0.0000 ***
138 InverterTemp_RearRight_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
5 BatteryVoltage_V MotorTemp_RearLeft_C 0.0000 ***
79 InverterTemp_RearLeft_C Inverter_Id_Ref_RearRight_A 0.0000 ***
122 MotorTemp_RearRight_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
89 InverterSpeed_RearRight_RPM InverterTemp_RearLeft_C 0.0000 ***
93 InverterSpeed_RearRight_RPM InverterTemp_RearRight_C 0.0000 ***
78 InverterTemp_RearLeft_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
54 Inverter_Id_Ref_RearLeft_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
74 InverterTemp_RearLeft_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
36 InverterSpeed_RearLeft_RPM Inverter_Iq_Ref_RearRight_A 0.0000 ***
62 MotorTemp_RearLeft_C BatteryCurrent_A 0.0000 ***
31 InverterSpeed_RearLeft_RPM Inverter_Iq_Ref_RearLeft_A 0.0000 ***
72 InverterTemp_RearLeft_C BatteryCurrent_A 0.0000 ***
69 MotorTemp_RearLeft_C Inverter_Id_Ref_RearRight_A 0.0000 ***
66 MotorTemp_RearLeft_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
6 BatteryVoltage_V InverterTemp_RearLeft_C 0.0000 ***
10 BatteryVoltage_V MotorTemp_RearRight_C 0.0000 ***
112 Inverter_Id_Ref_RearRight_A InverterTemp_RearLeft_C 0.0000 ***
75 InverterTemp_RearLeft_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
121 MotorTemp_RearRight_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
1 BatteryVoltage_V BatteryPackTemp_C 0.0000 ***
84 InverterSpeed_RearRight_RPM BatteryPackTemp_C 0.0000 ***
0 BatteryVoltage_V BatteryCurrent_A 0.0000 ***
65 MotorTemp_RearLeft_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
30 InverterSpeed_RearLeft_RPM BatteryPackTemp_C 0.0000 ***
126 MotorTemp_RearRight_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
60 Inverter_Id_Ref_RearLeft_A InverterTemp_RearRight_C 0.0000 ***
18 BatteryCurrent_A InverterTemp_RearLeft_C 0.0000 ***
4 BatteryVoltage_V Inverter_Id_Ref_RearLeft_A 0.0000 ***
68 MotorTemp_RearLeft_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
114 Inverter_Id_Ref_RearRight_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
9 BatteryVoltage_V Inverter_Id_Ref_RearRight_A 0.0000 ***
120 MotorTemp_RearRight_C InverterSpeed_RearLeft_RPM 0.0001 ***
11 BatteryVoltage_V InverterTemp_RearRight_C 0.0001 ***
116 Inverter_Id_Ref_RearRight_A InverterTemp_RearRight_C 0.0001 ***
131 InverterTemp_RearRight_C BatteryPackTemp_C 0.0001 ***
64 MotorTemp_RearLeft_C InverterSpeed_RearLeft_RPM 0.0002 ***
132 InverterTemp_RearRight_C InverterSpeed_RearLeft_RPM 0.0002 ***
73 InverterTemp_RearLeft_C BatteryPackTemp_C 0.0007 ***
13 BatteryCurrent_A BatteryPackTemp_C 0.0008 ***
42 Inverter_Iq_Ref_RearLeft_A BatteryPackTemp_C 0.0011 **
107 Inverter_Id_Ref_RearRight_A BatteryPackTemp_C 0.0025 **
96 Inverter_Iq_Ref_RearRight_A BatteryPackTemp_C 0.0028 **
23 BatteryCurrent_A InverterTemp_RearRight_C 0.0036 **
52 Inverter_Id_Ref_RearLeft_A BatteryPackTemp_C 0.0050 **
128 MotorTemp_RearRight_C InverterTemp_RearRight_C 0.0053 **
101 Inverter_Iq_Ref_RearRight_A InverterTemp_RearLeft_C 0.0055 **
27 BatteryPackTemp_C MotorTemp_RearRight_C 0.0127 *
124 MotorTemp_RearRight_C InverterTemp_RearLeft_C 0.0227 *
25 BatteryPackTemp_C MotorTemp_RearLeft_C 0.0287 *
26 BatteryPackTemp_C Inverter_Iq_Ref_RearRight_A 0.0339 *
70 MotorTemp_RearLeft_C InverterTemp_RearRight_C 0.0380 *
βœ… Granger causality analysis completed for 20241128-imola.



πŸ”„ Processing dataset: 20250113-imola
No description has been provided for this image
Found 152 significant Granger causal relationships:
  - Strong (p < 0.001): 142
  - Medium (p < 0.01): 8
  - Weak (p < 0.05): 2

Significance levels: *** p<0.001, ** p<0.01, * p<0.05


πŸ“Œ Causality relationships table:
Β  From To P-value Significance
108 Inverter_Iq_Ref_RearRight_A BatteryCurrent_A 0.0000 ***
115 Inverter_Iq_Ref_RearRight_A InverterSpeed_RearRight_RPM 0.0000 ***
53 Inverter_Iq_Ref_RearLeft_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
119 Inverter_Id_Ref_RearRight_A BatteryVoltage_V 0.0000 ***
68 Inverter_Id_Ref_RearLeft_A InverterSpeed_RearRight_RPM 0.0000 ***
120 Inverter_Id_Ref_RearRight_A BatteryCurrent_A 0.0000 ***
122 Inverter_Id_Ref_RearRight_A InverterSpeed_RearLeft_RPM 0.0000 ***
64 Inverter_Id_Ref_RearLeft_A InverterSpeed_RearLeft_RPM 0.0000 ***
123 Inverter_Id_Ref_RearRight_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
112 Inverter_Iq_Ref_RearRight_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
62 Inverter_Id_Ref_RearLeft_A BatteryCurrent_A 0.0000 ***
124 Inverter_Id_Ref_RearRight_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
41 InverterSpeed_RearLeft_RPM Inverter_Id_Ref_RearLeft_A 0.0000 ***
56 Inverter_Iq_Ref_RearLeft_A InverterSpeed_RearRight_RPM 0.0000 ***
44 InverterSpeed_RearLeft_RPM InverterSpeed_RearRight_RPM 0.0000 ***
127 Inverter_Id_Ref_RearRight_A InverterSpeed_RearRight_RPM 0.0000 ***
107 Inverter_Iq_Ref_RearRight_A BatteryVoltage_V 0.0000 ***
49 Inverter_Iq_Ref_RearLeft_A BatteryVoltage_V 0.0000 ***
50 Inverter_Iq_Ref_RearLeft_A BatteryCurrent_A 0.0000 ***
61 Inverter_Id_Ref_RearLeft_A BatteryVoltage_V 0.0000 ***
21 BatteryCurrent_A Inverter_Id_Ref_RearRight_A 0.0000 ***
52 Inverter_Iq_Ref_RearLeft_A InverterSpeed_RearLeft_RPM 0.0000 ***
19 BatteryCurrent_A InverterSpeed_RearRight_RPM 0.0000 ***
7 BatteryVoltage_V InverterSpeed_RearRight_RPM 0.0000 ***
20 BatteryCurrent_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
110 Inverter_Iq_Ref_RearRight_A InverterSpeed_RearLeft_RPM 0.0000 ***
12 BatteryCurrent_A BatteryVoltage_V 0.0000 ***
16 BatteryCurrent_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
15 BatteryCurrent_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
14 BatteryCurrent_A InverterSpeed_RearLeft_RPM 0.0000 ***
111 Inverter_Iq_Ref_RearRight_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
37 InverterSpeed_RearLeft_RPM BatteryCurrent_A 0.0000 ***
58 Inverter_Iq_Ref_RearLeft_A Inverter_Id_Ref_RearRight_A 0.0000 ***
116 Inverter_Iq_Ref_RearRight_A Inverter_Id_Ref_RearRight_A 0.0000 ***
105 InverterSpeed_RearRight_RPM MotorTemp_RearRight_C 0.0000 ***
24 BatteryPackTemp_C BatteryVoltage_V 0.0000 ***
47 InverterSpeed_RearLeft_RPM MotorTemp_RearRight_C 0.0000 ***
100 InverterSpeed_RearRight_RPM Inverter_Id_Ref_RearLeft_A 0.0000 ***
104 InverterSpeed_RearRight_RPM Inverter_Id_Ref_RearRight_A 0.0000 ***
57 Inverter_Iq_Ref_RearLeft_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
101 InverterSpeed_RearRight_RPM MotorTemp_RearLeft_C 0.0000 ***
42 InverterSpeed_RearLeft_RPM MotorTemp_RearLeft_C 0.0000 ***
98 InverterSpeed_RearRight_RPM InverterSpeed_RearLeft_RPM 0.0000 ***
65 Inverter_Id_Ref_RearLeft_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
36 InverterSpeed_RearLeft_RPM BatteryVoltage_V 0.0000 ***
138 MotorTemp_RearRight_C InverterSpeed_RearRight_RPM 0.0000 ***
2 BatteryVoltage_V InverterSpeed_RearLeft_RPM 0.0000 ***
103 InverterSpeed_RearRight_RPM Inverter_Iq_Ref_RearRight_A 0.0000 ***
95 InverterSpeed_RearRight_RPM BatteryCurrent_A 0.0000 ***
99 InverterSpeed_RearRight_RPM Inverter_Iq_Ref_RearLeft_A 0.0000 ***
148 InverterTemp_RearRight_C InverterSpeed_RearRight_RPM 0.0000 ***
79 MotorTemp_RearLeft_C InverterSpeed_RearRight_RPM 0.0000 ***
46 InverterSpeed_RearLeft_RPM Inverter_Id_Ref_RearRight_A 0.0000 ***
151 InverterTemp_RearRight_C MotorTemp_RearRight_C 0.0000 ***
31 InverterFault InverterSpeed_RearRight_RPM 0.0000 ***
94 InverterSpeed_RearRight_RPM BatteryVoltage_V 0.0000 ***
146 InverterTemp_RearRight_C MotorTemp_RearLeft_C 0.0000 ***
92 InverterTemp_RearLeft_C MotorTemp_RearRight_C 0.0000 ***
89 InverterTemp_RearLeft_C InverterSpeed_RearRight_RPM 0.0000 ***
70 Inverter_Id_Ref_RearLeft_A Inverter_Id_Ref_RearRight_A 0.0000 ***
69 Inverter_Id_Ref_RearLeft_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
40 InverterSpeed_RearLeft_RPM Inverter_Iq_Ref_RearLeft_A 0.0000 ***
88 InverterTemp_RearLeft_C MotorTemp_RearLeft_C 0.0000 ***
45 InverterSpeed_RearLeft_RPM Inverter_Iq_Ref_RearRight_A 0.0000 ***
128 Inverter_Id_Ref_RearRight_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
136 MotorTemp_RearRight_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
137 MotorTemp_RearRight_C MotorTemp_RearLeft_C 0.0000 ***
78 MotorTemp_RearLeft_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
34 InverterFault MotorTemp_RearRight_C 0.0000 ***
145 InverterTemp_RearRight_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
132 MotorTemp_RearRight_C BatteryCurrent_A 0.0000 ***
93 InverterTemp_RearLeft_C InverterTemp_RearRight_C 0.0000 ***
71 Inverter_Id_Ref_RearLeft_A MotorTemp_RearRight_C 0.0000 ***
117 Inverter_Iq_Ref_RearRight_A MotorTemp_RearRight_C 0.0000 ***
73 MotorTemp_RearLeft_C BatteryVoltage_V 0.0000 ***
74 MotorTemp_RearLeft_C BatteryCurrent_A 0.0000 ***
129 Inverter_Id_Ref_RearRight_A MotorTemp_RearRight_C 0.0000 ***
59 Inverter_Iq_Ref_RearLeft_A MotorTemp_RearRight_C 0.0000 ***
140 MotorTemp_RearRight_C Inverter_Id_Ref_RearRight_A 0.0000 ***
22 BatteryCurrent_A MotorTemp_RearRight_C 0.0000 ***
29 InverterFault MotorTemp_RearLeft_C 0.0000 ***
144 InverterTemp_RearRight_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
149 InverterTemp_RearRight_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
139 MotorTemp_RearRight_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
135 MotorTemp_RearRight_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
81 MotorTemp_RearLeft_C Inverter_Id_Ref_RearRight_A 0.0000 ***
87 InverterTemp_RearLeft_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
131 MotorTemp_RearRight_C BatteryVoltage_V 0.0000 ***
48 InverterSpeed_RearLeft_RPM InverterTemp_RearRight_C 0.0000 ***
28 InverterFault Inverter_Id_Ref_RearLeft_A 0.0000 ***
150 InverterTemp_RearRight_C Inverter_Id_Ref_RearRight_A 0.0000 ***
106 InverterSpeed_RearRight_RPM InverterTemp_RearRight_C 0.0000 ***
80 MotorTemp_RearLeft_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
4 BatteryVoltage_V Inverter_Id_Ref_RearLeft_A 0.0000 ***
77 MotorTemp_RearLeft_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
32 InverterFault Inverter_Iq_Ref_RearRight_A 0.0000 ***
143 InverterTemp_RearRight_C InverterFault 0.0000 ***
86 InverterTemp_RearLeft_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
27 InverterFault Inverter_Iq_Ref_RearLeft_A 0.0000 ***
90 InverterTemp_RearLeft_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
35 InverterFault InverterTemp_RearRight_C 0.0000 ***
33 InverterFault Inverter_Id_Ref_RearRight_A 0.0000 ***
133 MotorTemp_RearRight_C BatteryPackTemp_C 0.0000 ***
102 InverterSpeed_RearRight_RPM InverterTemp_RearLeft_C 0.0000 ***
91 InverterTemp_RearLeft_C Inverter_Id_Ref_RearRight_A 0.0000 ***
85 InverterTemp_RearLeft_C InverterFault 0.0000 ***
142 InverterTemp_RearRight_C BatteryCurrent_A 0.0000 ***
43 InverterSpeed_RearLeft_RPM InverterTemp_RearLeft_C 0.0000 ***
147 InverterTemp_RearRight_C InverterTemp_RearLeft_C 0.0000 ***
75 MotorTemp_RearLeft_C BatteryPackTemp_C 0.0000 ***
30 InverterFault InverterTemp_RearLeft_C 0.0000 ***
23 BatteryCurrent_A InverterTemp_RearRight_C 0.0000 ***
66 Inverter_Id_Ref_RearLeft_A MotorTemp_RearLeft_C 0.0000 ***
84 InverterTemp_RearLeft_C BatteryCurrent_A 0.0000 ***
25 InverterFault BatteryCurrent_A 0.0000 ***
125 Inverter_Id_Ref_RearRight_A MotorTemp_RearLeft_C 0.0000 ***
118 Inverter_Iq_Ref_RearRight_A InverterTemp_RearRight_C 0.0000 ***
130 Inverter_Id_Ref_RearRight_A InverterTemp_RearRight_C 0.0000 ***
18 BatteryCurrent_A InverterTemp_RearLeft_C 0.0000 ***
60 Inverter_Iq_Ref_RearLeft_A InverterTemp_RearRight_C 0.0000 ***
113 Inverter_Iq_Ref_RearRight_A MotorTemp_RearLeft_C 0.0000 ***
72 Inverter_Id_Ref_RearLeft_A InverterTemp_RearRight_C 0.0000 ***
54 Inverter_Iq_Ref_RearLeft_A MotorTemp_RearLeft_C 0.0000 ***
17 BatteryCurrent_A MotorTemp_RearLeft_C 0.0000 ***
1 BatteryVoltage_V BatteryPackTemp_C 0.0000 ***
26 InverterFault InverterSpeed_RearLeft_RPM 0.0000 ***
8 BatteryVoltage_V Inverter_Iq_Ref_RearRight_A 0.0000 ***
3 BatteryVoltage_V Inverter_Iq_Ref_RearLeft_A 0.0000 ***
114 Inverter_Iq_Ref_RearRight_A InverterTemp_RearLeft_C 0.0000 ***
55 Inverter_Iq_Ref_RearLeft_A InverterTemp_RearLeft_C 0.0000 ***
82 MotorTemp_RearLeft_C MotorTemp_RearRight_C 0.0000 ***
126 Inverter_Id_Ref_RearRight_A InverterTemp_RearLeft_C 0.0000 ***
10 BatteryVoltage_V MotorTemp_RearRight_C 0.0000 ***
11 BatteryVoltage_V InverterTemp_RearRight_C 0.0000 ***
96 InverterSpeed_RearRight_RPM BatteryPackTemp_C 0.0000 ***
38 InverterSpeed_RearLeft_RPM BatteryPackTemp_C 0.0000 ***
67 Inverter_Id_Ref_RearLeft_A InverterTemp_RearLeft_C 0.0000 ***
6 BatteryVoltage_V InverterTemp_RearLeft_C 0.0000 ***
5 BatteryVoltage_V MotorTemp_RearLeft_C 0.0002 ***
109 Inverter_Iq_Ref_RearRight_A BatteryPackTemp_C 0.0006 ***
51 Inverter_Iq_Ref_RearLeft_A BatteryPackTemp_C 0.0007 ***
141 InverterTemp_RearRight_C BatteryVoltage_V 0.0008 ***
83 InverterTemp_RearLeft_C BatteryVoltage_V 0.0022 **
13 BatteryCurrent_A BatteryPackTemp_C 0.0039 **
121 Inverter_Id_Ref_RearRight_A BatteryPackTemp_C 0.0040 **
134 MotorTemp_RearRight_C InverterFault 0.0052 **
63 Inverter_Id_Ref_RearLeft_A BatteryPackTemp_C 0.0060 **
97 InverterSpeed_RearRight_RPM InverterFault 0.0066 **
76 MotorTemp_RearLeft_C InverterFault 0.0092 **
0 BatteryVoltage_V BatteryCurrent_A 0.0093 **
9 BatteryVoltage_V Inverter_Id_Ref_RearRight_A 0.0123 *
39 InverterSpeed_RearLeft_RPM InverterFault 0.0329 *
βœ… Granger causality analysis completed for 20250113-imola.



πŸ”„ Processing dataset: 20250114-imola
No description has been provided for this image
Found 150 significant Granger causal relationships:
  - Strong (p < 0.001): 142
  - Medium (p < 0.01): 6
  - Weak (p < 0.05): 2

Significance levels: *** p<0.001, ** p<0.01, * p<0.05


πŸ“Œ Causality relationships table:
Β  From To P-value Significance
50 Inverter_Iq_Ref_RearLeft_A BatteryCurrent_A 0.0000 ***
107 Inverter_Iq_Ref_RearRight_A InverterSpeed_RearLeft_RPM 0.0000 ***
109 Inverter_Iq_Ref_RearRight_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
112 Inverter_Iq_Ref_RearRight_A InverterSpeed_RearRight_RPM 0.0000 ***
116 Inverter_Id_Ref_RearRight_A BatteryVoltage_V 0.0000 ***
117 Inverter_Id_Ref_RearRight_A BatteryCurrent_A 0.0000 ***
118 Inverter_Id_Ref_RearRight_A InverterSpeed_RearLeft_RPM 0.0000 ***
66 Inverter_Id_Ref_RearLeft_A InverterSpeed_RearRight_RPM 0.0000 ***
62 Inverter_Id_Ref_RearLeft_A InverterSpeed_RearLeft_RPM 0.0000 ***
106 Inverter_Iq_Ref_RearRight_A BatteryCurrent_A 0.0000 ***
38 InverterSpeed_RearLeft_RPM BatteryCurrent_A 0.0000 ***
61 Inverter_Id_Ref_RearLeft_A BatteryCurrent_A 0.0000 ***
41 InverterSpeed_RearLeft_RPM Inverter_Id_Ref_RearLeft_A 0.0000 ***
60 Inverter_Id_Ref_RearLeft_A BatteryVoltage_V 0.0000 ***
44 InverterSpeed_RearLeft_RPM InverterSpeed_RearRight_RPM 0.0000 ***
120 Inverter_Id_Ref_RearRight_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
49 Inverter_Iq_Ref_RearLeft_A BatteryVoltage_V 0.0000 ***
51 Inverter_Iq_Ref_RearLeft_A InverterSpeed_RearLeft_RPM 0.0000 ***
52 Inverter_Iq_Ref_RearLeft_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
123 Inverter_Id_Ref_RearRight_A InverterSpeed_RearRight_RPM 0.0000 ***
105 Inverter_Iq_Ref_RearRight_A BatteryVoltage_V 0.0000 ***
55 Inverter_Iq_Ref_RearLeft_A InverterSpeed_RearRight_RPM 0.0000 ***
19 BatteryCurrent_A Inverter_Id_Ref_RearRight_A 0.0000 ***
18 BatteryCurrent_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
17 BatteryCurrent_A InverterSpeed_RearRight_RPM 0.0000 ***
14 BatteryCurrent_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
13 BatteryCurrent_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
12 BatteryCurrent_A InverterSpeed_RearLeft_RPM 0.0000 ***
6 BatteryVoltage_V InverterSpeed_RearRight_RPM 0.0000 ***
11 BatteryCurrent_A BatteryVoltage_V 0.0000 ***
32 InverterFault InverterSpeed_RearRight_RPM 0.0000 ***
96 InverterSpeed_RearRight_RPM InverterSpeed_RearLeft_RPM 0.0000 ***
57 Inverter_Iq_Ref_RearLeft_A Inverter_Id_Ref_RearRight_A 0.0000 ***
103 InverterSpeed_RearRight_RPM MotorTemp_RearRight_C 0.0000 ***
113 Inverter_Iq_Ref_RearRight_A Inverter_Id_Ref_RearRight_A 0.0000 ***
47 InverterSpeed_RearLeft_RPM MotorTemp_RearRight_C 0.0000 ***
98 InverterSpeed_RearRight_RPM Inverter_Id_Ref_RearLeft_A 0.0000 ***
102 InverterSpeed_RearRight_RPM Inverter_Id_Ref_RearRight_A 0.0000 ***
134 MotorTemp_RearRight_C InverterSpeed_RearRight_RPM 0.0000 ***
99 InverterSpeed_RearRight_RPM MotorTemp_RearLeft_C 0.0000 ***
146 InverterTemp_RearRight_C InverterSpeed_RearRight_RPM 0.0000 ***
94 InverterSpeed_RearRight_RPM BatteryCurrent_A 0.0000 ***
68 Inverter_Id_Ref_RearLeft_A Inverter_Id_Ref_RearRight_A 0.0000 ***
42 InverterSpeed_RearLeft_RPM MotorTemp_RearLeft_C 0.0000 ***
1 BatteryVoltage_V InverterSpeed_RearLeft_RPM 0.0000 ***
88 InverterTemp_RearLeft_C InverterSpeed_RearRight_RPM 0.0000 ***
97 InverterSpeed_RearRight_RPM Inverter_Iq_Ref_RearLeft_A 0.0000 ***
101 InverterSpeed_RearRight_RPM Inverter_Iq_Ref_RearRight_A 0.0000 ***
77 MotorTemp_RearLeft_C InverterSpeed_RearRight_RPM 0.0000 ***
93 InverterSpeed_RearRight_RPM BatteryVoltage_V 0.0000 ***
46 InverterSpeed_RearLeft_RPM Inverter_Id_Ref_RearRight_A 0.0000 ***
56 Inverter_Iq_Ref_RearLeft_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
37 InverterSpeed_RearLeft_RPM BatteryVoltage_V 0.0000 ***
63 Inverter_Id_Ref_RearLeft_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
140 InverterTemp_RearRight_C InverterFault 0.0000 ***
149 InverterTemp_RearRight_C MotorTemp_RearRight_C 0.0000 ***
83 InverterTemp_RearLeft_C InverterFault 0.0000 ***
91 InverterTemp_RearLeft_C MotorTemp_RearRight_C 0.0000 ***
71 MotorTemp_RearLeft_C BatteryVoltage_V 0.0000 ***
131 MotorTemp_RearRight_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
69 Inverter_Id_Ref_RearLeft_A MotorTemp_RearRight_C 0.0000 ***
125 Inverter_Id_Ref_RearRight_A MotorTemp_RearRight_C 0.0000 ***
45 InverterSpeed_RearLeft_RPM Inverter_Iq_Ref_RearRight_A 0.0000 ***
114 Inverter_Iq_Ref_RearRight_A MotorTemp_RearRight_C 0.0000 ***
144 InverterTemp_RearRight_C MotorTemp_RearLeft_C 0.0000 ***
58 Inverter_Iq_Ref_RearLeft_A MotorTemp_RearRight_C 0.0000 ***
40 InverterSpeed_RearLeft_RPM Inverter_Iq_Ref_RearLeft_A 0.0000 ***
87 InverterTemp_RearLeft_C MotorTemp_RearLeft_C 0.0000 ***
132 MotorTemp_RearRight_C MotorTemp_RearLeft_C 0.0000 ***
20 BatteryCurrent_A MotorTemp_RearRight_C 0.0000 ***
31 InverterFault InverterTemp_RearLeft_C 0.0000 ***
75 MotorTemp_RearLeft_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
36 InverterFault InverterTemp_RearRight_C 0.0000 ***
127 MotorTemp_RearRight_C BatteryVoltage_V 0.0000 ***
22 BatteryPackTemp_C BatteryVoltage_V 0.0000 ***
128 MotorTemp_RearRight_C BatteryCurrent_A 0.0000 ***
27 InverterFault InverterSpeed_RearLeft_RPM 0.0000 ***
121 Inverter_Id_Ref_RearRight_A MotorTemp_RearLeft_C 0.0000 ***
136 MotorTemp_RearRight_C Inverter_Id_Ref_RearRight_A 0.0000 ***
2 BatteryVoltage_V Inverter_Iq_Ref_RearLeft_A 0.0000 ***
110 Inverter_Iq_Ref_RearRight_A MotorTemp_RearLeft_C 0.0000 ***
48 InverterSpeed_RearLeft_RPM InverterTemp_RearRight_C 0.0000 ***
104 InverterSpeed_RearRight_RPM InverterTemp_RearRight_C 0.0000 ***
72 MotorTemp_RearLeft_C BatteryCurrent_A 0.0000 ***
130 MotorTemp_RearRight_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
7 BatteryVoltage_V Inverter_Iq_Ref_RearRight_A 0.0000 ***
143 InverterTemp_RearRight_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
135 MotorTemp_RearRight_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
15 BatteryCurrent_A MotorTemp_RearLeft_C 0.0000 ***
64 Inverter_Id_Ref_RearLeft_A MotorTemp_RearLeft_C 0.0000 ***
5 BatteryVoltage_V InverterTemp_RearLeft_C 0.0000 ***
53 Inverter_Iq_Ref_RearLeft_A MotorTemp_RearLeft_C 0.0000 ***
79 MotorTemp_RearLeft_C Inverter_Id_Ref_RearRight_A 0.0000 ***
100 InverterSpeed_RearRight_RPM InverterTemp_RearLeft_C 0.0000 ***
43 InverterSpeed_RearLeft_RPM InverterTemp_RearLeft_C 0.0000 ***
29 InverterFault Inverter_Id_Ref_RearLeft_A 0.0000 ***
86 InverterTemp_RearLeft_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
119 Inverter_Id_Ref_RearRight_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
3 BatteryVoltage_V Inverter_Id_Ref_RearLeft_A 0.0000 ***
35 InverterFault MotorTemp_RearRight_C 0.0000 ***
10 BatteryVoltage_V InverterTemp_RearRight_C 0.0000 ***
74 MotorTemp_RearLeft_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
78 MotorTemp_RearLeft_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
33 InverterFault Inverter_Iq_Ref_RearRight_A 0.0000 ***
95 InverterSpeed_RearRight_RPM InverterFault 0.0000 ***
34 InverterFault Inverter_Id_Ref_RearRight_A 0.0000 ***
28 InverterFault Inverter_Iq_Ref_RearLeft_A 0.0000 ***
30 InverterFault MotorTemp_RearLeft_C 0.0000 ***
124 Inverter_Id_Ref_RearRight_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
148 InverterTemp_RearRight_C Inverter_Id_Ref_RearRight_A 0.0000 ***
142 InverterTemp_RearRight_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
9 BatteryVoltage_V MotorTemp_RearRight_C 0.0000 ***
147 InverterTemp_RearRight_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
90 InverterTemp_RearLeft_C Inverter_Id_Ref_RearRight_A 0.0000 ***
85 InverterTemp_RearLeft_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
16 BatteryCurrent_A InverterTemp_RearLeft_C 0.0000 ***
89 InverterTemp_RearLeft_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
21 BatteryCurrent_A InverterTemp_RearRight_C 0.0000 ***
115 Inverter_Iq_Ref_RearRight_A InverterTemp_RearRight_C 0.0000 ***
26 InverterFault BatteryCurrent_A 0.0000 ***
111 Inverter_Iq_Ref_RearRight_A InverterTemp_RearLeft_C 0.0000 ***
122 Inverter_Id_Ref_RearRight_A InverterTemp_RearLeft_C 0.0000 ***
139 InverterTemp_RearRight_C BatteryCurrent_A 0.0000 ***
126 Inverter_Id_Ref_RearRight_A InverterTemp_RearRight_C 0.0000 ***
81 InverterTemp_RearLeft_C BatteryVoltage_V 0.0000 ***
92 InverterTemp_RearLeft_C InverterTemp_RearRight_C 0.0000 ***
4 BatteryVoltage_V MotorTemp_RearLeft_C 0.0000 ***
59 Inverter_Iq_Ref_RearLeft_A InverterTemp_RearRight_C 0.0000 ***
54 Inverter_Iq_Ref_RearLeft_A InverterTemp_RearLeft_C 0.0000 ***
39 InverterSpeed_RearLeft_RPM InverterFault 0.0000 ***
82 InverterTemp_RearLeft_C BatteryCurrent_A 0.0000 ***
138 InverterTemp_RearRight_C BatteryVoltage_V 0.0000 ***
70 Inverter_Id_Ref_RearLeft_A InverterTemp_RearRight_C 0.0000 ***
65 Inverter_Id_Ref_RearLeft_A InverterTemp_RearLeft_C 0.0000 ***
108 Inverter_Iq_Ref_RearRight_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
141 InverterTemp_RearRight_C InverterSpeed_RearLeft_RPM 0.0000 ***
67 Inverter_Id_Ref_RearLeft_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
8 BatteryVoltage_V Inverter_Id_Ref_RearRight_A 0.0001 ***
84 InverterTemp_RearLeft_C InverterSpeed_RearLeft_RPM 0.0001 ***
76 MotorTemp_RearLeft_C InverterTemp_RearLeft_C 0.0003 ***
129 MotorTemp_RearRight_C InverterSpeed_RearLeft_RPM 0.0003 ***
80 MotorTemp_RearLeft_C InverterTemp_RearRight_C 0.0008 ***
25 InverterFault BatteryVoltage_V 0.0017 **
133 MotorTemp_RearRight_C InverterTemp_RearLeft_C 0.0022 **
137 MotorTemp_RearRight_C InverterTemp_RearRight_C 0.0040 **
145 InverterTemp_RearRight_C InverterTemp_RearLeft_C 0.0061 **
73 MotorTemp_RearLeft_C InverterSpeed_RearLeft_RPM 0.0092 **
0 BatteryVoltage_V BatteryCurrent_A 0.0093 **
23 BatteryPackTemp_C InverterTemp_RearLeft_C 0.0102 *
24 BatteryPackTemp_C InverterTemp_RearRight_C 0.0310 *
βœ… Granger causality analysis completed for 20250114-imola.

Running some queries over the Granger causality results on 20250113-imola dataset

InΒ [7]:
# 🎯 Query 1: Use only 'MotorTemp_RearRight_C' and 'MotorTemp_RearLeft_C' 
# as predictors (From) and test their influence on all other variables (To) 
# using the Granger causality results.

dataset_name = '20250113-imola'
exclude_from = datasets[dataset_name].columns.difference(["MotorTemp_RearRight_C", "MotorTemp_RearLeft_C"])
exclude_to   = ["MotorTemp_RearRight_C", "MotorTemp_RearLeft_C"]

filtered_table = GrangerCausalityAnalyzer.filter_table(
    styled_table=granger_tables[dataset_name],
    exclude_from=exclude_from,
    exclude_to=exclude_to,
)

print("\nπŸ“Œ **Filtered Table - Query 1:**")
print(f"πŸ”Ή Dataset: {dataset_name}")
display(filtered_table)
πŸ“Œ **Filtered Table - Query 1:**
πŸ”Ή Dataset: 20250113-imola
Β  From To P-value Significance
138 MotorTemp_RearRight_C InverterSpeed_RearRight_RPM 0.0000 ***
79 MotorTemp_RearLeft_C InverterSpeed_RearRight_RPM 0.0000 ***
136 MotorTemp_RearRight_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
78 MotorTemp_RearLeft_C Inverter_Id_Ref_RearLeft_A 0.0000 ***
132 MotorTemp_RearRight_C BatteryCurrent_A 0.0000 ***
73 MotorTemp_RearLeft_C BatteryVoltage_V 0.0000 ***
74 MotorTemp_RearLeft_C BatteryCurrent_A 0.0000 ***
140 MotorTemp_RearRight_C Inverter_Id_Ref_RearRight_A 0.0000 ***
139 MotorTemp_RearRight_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
135 MotorTemp_RearRight_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
81 MotorTemp_RearLeft_C Inverter_Id_Ref_RearRight_A 0.0000 ***
131 MotorTemp_RearRight_C BatteryVoltage_V 0.0000 ***
80 MotorTemp_RearLeft_C Inverter_Iq_Ref_RearRight_A 0.0000 ***
77 MotorTemp_RearLeft_C Inverter_Iq_Ref_RearLeft_A 0.0000 ***
133 MotorTemp_RearRight_C BatteryPackTemp_C 0.0000 ***
75 MotorTemp_RearLeft_C BatteryPackTemp_C 0.0000 ***
134 MotorTemp_RearRight_C InverterFault 0.0052 **
76 MotorTemp_RearLeft_C InverterFault 0.0092 **
InΒ [8]:
# 🎯 Query 2: Use only 'BatteryCurrent_A' 
# as predictor (From) and test its influence on all other variables (To) 
# using the Granger causality results.

dataset_name = '20250113-imola'
exclude_from = datasets[dataset_name].columns.difference(["BatteryCurrent_A"])
exclude_to   = ["BatteryCurrent_A"]

filtered_table = GrangerCausalityAnalyzer.filter_table(
    styled_table=granger_tables[dataset_name],
    exclude_from=exclude_from,
    exclude_to=exclude_to,
)

print("\nπŸ“Œ **Filtered Table - Query 2:**")
print(f"πŸ”Ή Dataset: {dataset_name}")
display(filtered_table)
πŸ“Œ **Filtered Table - Query 2:**
πŸ”Ή Dataset: 20250113-imola
Β  From To P-value Significance
21 BatteryCurrent_A Inverter_Id_Ref_RearRight_A 0.0000 ***
19 BatteryCurrent_A InverterSpeed_RearRight_RPM 0.0000 ***
20 BatteryCurrent_A Inverter_Iq_Ref_RearRight_A 0.0000 ***
12 BatteryCurrent_A BatteryVoltage_V 0.0000 ***
16 BatteryCurrent_A Inverter_Id_Ref_RearLeft_A 0.0000 ***
15 BatteryCurrent_A Inverter_Iq_Ref_RearLeft_A 0.0000 ***
14 BatteryCurrent_A InverterSpeed_RearLeft_RPM 0.0000 ***
22 BatteryCurrent_A MotorTemp_RearRight_C 0.0000 ***
23 BatteryCurrent_A InverterTemp_RearRight_C 0.0000 ***
18 BatteryCurrent_A InverterTemp_RearLeft_C 0.0000 ***
17 BatteryCurrent_A MotorTemp_RearLeft_C 0.0000 ***
13 BatteryCurrent_A BatteryPackTemp_C 0.0039 **
InΒ [10]:
# 🎯 Query 3: Use all the variables except 'InverterFault'
# as predictors (From) and test their influence on 'InverterFault' variable (To) 
# using the Granger causality results.

dataset_name = '20250113-imola'
exclude_from = ["InverterFault"]
exclude_to   = datasets[dataset_name].columns.difference(["InverterFault"])

filtered_table = GrangerCausalityAnalyzer.filter_table(
    styled_table=granger_tables[dataset_name],
    exclude_from=exclude_from,
    exclude_to=exclude_to,
)

print("\nπŸ“Œ **Filtered Table - Query 3:**")
print(f"πŸ”Ή Dataset: {dataset_name}")
display(filtered_table)
πŸ“Œ **Filtered Table - Query 3:**
πŸ”Ή Dataset: 20250113-imola
Β  From To P-value Significance
143 InverterTemp_RearRight_C InverterFault 0.0000 ***
85 InverterTemp_RearLeft_C InverterFault 0.0000 ***
134 MotorTemp_RearRight_C InverterFault 0.0052 **
97 InverterSpeed_RearRight_RPM InverterFault 0.0066 **
76 MotorTemp_RearLeft_C InverterFault 0.0092 **
39 InverterSpeed_RearLeft_RPM InverterFault 0.0329 *